List of Property Types

MAPI supports both single-valued and multivalued properties. With a single-valued property, there is one value of the base type for the property. With a multivalued property, there are multiple values of the base type.

The single-valued and multivalued property types that are supported by MAPI are described as follows. For each single-valued type that has a corresponding multivalued type, the multivalued type appears in parentheses after the single-valued type. 

PT_APPTIME  (PT_MV_APPTIME)

Double value that is interpreted as date and time. This property type is the same as the OLE type VT_DATE and is compatible with the Visual Basic time representation.

PT_BINARY (PT_MV_BINARY)

SBinary structure value, a counted byte array.

PT_BOOLEAN (PT_MV_12)

16-bit Boolean value where zero equals FALSE and non-zero equals TRUE. This property type is the same as the OLE type VT_BOOL.

PT_CLSID (PT_MV_CLSID)

CLSID structure value. This property type is the same as the OLE type VT_CLSID.

PT_CURRENCY (PT_MV_CURRENCY )

64-bit integer intepreted as decimal. This property type is compatible with the Visual Basic CURRENCY type and is the same as the OLE type VT_CY.

PT_DOUBLE (PT_MV_DOUBLE)

Double value; 64-bit floating point value. This property type is the same as PT_R8 and the OLE type VT_R8.

PT_ERROR

SCODE value; 32-bit unsigned integer. This property type is the same as the OLE type VT_ERROR.

PT_FLOAT (PT_MV_FLOAT)

32-bit floating point value. This property type is the same as PT_R4 and the OLE type VT_R4.

PT_I2 (PT_MV_I2)

Signed 16-bit integer. This property type is the same as PT_SHORT and the OLE type VT_I2.

PT_I4 (PT_MV_I4)

Signed or unsigned 32-bit integer. This property type is the same as PT_LONG and the OLE type VT_I4.

PT_I8 (PT_MV_I8)

Signed or unsigned 64-bit integer that uses the LARGE_INTEGER structure. This property type is the same as the OLE type VT_I8.

PT_LONG (PT_MV_LONG)

Signed or unsigned 32-bit integer. This property type is the same as PT_I4 and the OLE type VT_I4.

PT_LONGLONG (PT_MV_LONGLONG)

Signed or unsigned 64-bit integer. This property type is the same as PT_I8 and the OLE type VT_I8.

PT_NULL

Indicates no property value. This property type is reserved for use with interface methods and is the same as the OLE type VT_NULL.

PT_OBJECT

Pointer to an object that implements the IUnknown interface. This property type is similar to several OLE types such as VT_UNKNOWN.

PT_R4 (PT_MV_R4)

4-byte floating point value. This property type is the same as the OLE type VT_R4.

PT_R8 (PT_MV_R8)

8-byte floating point value. This property type is the same as the OLE type VT_DOUBLE.

PT_SHORT (PT_MV_SHORT)

Signed 16-bit integer. This property type is the same as PT_SHORT and the OLE type VT_I2.

PT_STRING8 (PT_MV_STRING8)

Null-terminated 8-bit character string. This property type is the same as the OLE type VT_LPSTR.

PT_SYSTIME (PT_MV_SYSTIME)

64-bit integer data and time value in the form of a FILETIME structure. This property type is the same as the OLE type VT_FILETIME.

PT_TSTRING (PT_MV_TSTRING)

Properties with this type have the property type reset to PT_UNICODE when compiling with the UNICODE symbol and to PT_STRING8 when not compiling with the UNICODE symbol. This property type is the same as the OLE type VT_LPSTR for resulting PT_STRING8 properties and VT_LPWSTR for PT_UNICODE properties

PT_UNSPECIFIED

Indicates that the property type is unknown. This property type is reserved for use with interface methods.